// SymbianOSUnitConsoleMain.h
/*
Created by Roman Savelyev
*/

#ifndef __SymbianOSUnitConsoleMain_H
#define __SymbianOSUnitConsoleMain_H

#include <e32base.h>
#include "UiUpdater.h"

class CConsoleBase;

const TInt KAllTestSuites = -1;

class CSymbianOSUnitConsoleMain : public MUiUpdater, public CActive
	{
public:
	static CSymbianOSUnitConsoleMain* NewLC();
	~CSymbianOSUnitConsoleMain();
	void ExecuteUiL();
	void Execute(TInt aSuite);
	TInt ExecutionError() const;
private: // MUiUpdater
	void DisplayEachTestResult();
	void FailedTest();
private: // CActive
	void RunL();
	TInt RunError(TInt aError);
	void DoCancel();
private:
	CSymbianOSUnitConsoleMain();
	void ConstructL();
private:
	TBool iFailedTest;
	HBufC* iTestOutput;
	CConsoleBase* iConsole;
	TInt iError;
	TInt iSuite;
	};

#endif
